package com.rickpan.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * VIP功能权限注解
 * 用于标记需要VIP权限或限制使用量的方法
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface VipFeature {

    /**
     * 功能代码
     */
    String value();

    /**
     * 是否记录使用量 (默认true)
     */
    boolean recordUsage() default true;

    /**
     * 使用量增量 (默认1)
     */
    int usageCount() default 1;

    /**
     * 功能描述 (用于错误提示)
     */
    String description() default "";
}